﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
//using Oracle.DataAccess.Client;

//
//Description : Interface qui représente un entité éditable
//Auteur : Marc-Eric Boisvert
//Date Création : 31 mars 2008
//Révisions:
//

namespace Framework.Data.Core
{
    public interface IEditableEntity
    {

        bool MarkAsDeleted { get; set; }

        void AcceptChanges(bool updateIsNew = true);

        void RejectChanges();
        bool IsDirty(bool checkFieldOnly = false);

        bool Save(IDbConnection connection = null);

        bool Save(IDbTransaction transaction, IDbConnection connection = null);

        bool Delete(IDbConnection connection = null);

        bool Cancel();
    }
}